<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //   /*
      // 1. 定义函数有几种方式，有什么区别？
      //函数声明式:function fn(){} 可以在定义前调用；
      //函数表达式:var fn = function(){} 不可以在定义前调用
      // 2.return 关键字有那两种作用
      //1， 返回你想返回的值到函数调用的地方
      //2，中断函数执行，return后面的所以代码都不会执行。
      // 3.函数实参数和形参个数不等时会发生什么？举例说明
      //   function fn(a, b, c) {
      //     console.log(a + b);
      //   }
      //   fn(1, 2); //形参个数多于形参，就会只输出两个值;
      //   fn(1); //实参个数少于形参，就会是NaN;
      //   fn(1, 2, 3);

      //     4.请定义一个函数，该函数功能为，传入一个值，返回这个值的平方值;请再写一个函数,传入两个值，然后计算第一个值的第二个值的次方。如传入 x，y。求x的y次方是多少
    //  方法一
      //   function fn1(x) {
    //     var num = x * x;
    //     return num;
    //   }
    //   var res = fn1(5);
    //   console.log(res);
      //   方法二
      // var a = window.prompt("请输入一个数字")-0;
      //  function fn(){
      //      var j = a*a;
      //      return j;
      //  }
      //  var res = fn();
      //  window.alert(res);
      //2:
      //   var a = window.prompt("请输入一个数字")-0;
      //  var b = window.prompt("请输入一个数字2")-0;
      //  var c = 1;
      //  function fun(){
      //     for( var res= b ; b>0; b--){
      //        c=c*a;
      //     }
      //  }
      //  fun();
      //  window.alert(c);

      //方法二:
      // function fn2(x,y){
      //     return res;
      // }

      //     5.请写出一个函数，功能为：传入 2 个值，则返回其中的最大值；请再写一个函数，传入 3 个值，返回其中的最大值

      // 方法一:  function max2(a,b){
      //     return a>b ? a:b;
      // }
      //  max2( 2,9)
      function get(x, y) {
        if (x > y) {
          return x;
        } else {
          return y;
        }
      }
      console.log(get(2, 9));

      function fn(num1, num2, num3) {
        if (num1 > num2 > num3) {
          return num1;
        } else if (num2 > num1 > num3) {
          return num2;
        } else {
          return num3;
        }
      }
      console.log(fn(20, 50, 100));

      //     6.请定义一个函数，输入一个 N 值，则计算出该值的阶乘，即：`n! = 1*2*3*4*5*6*...`

      function fn(n) {
        var sum = 1;
        for (var i = 1; i <= n; i++) {
          sum *= i;
        }
        return sum;
      }
      var sum = fn(1);
      console.log(sum);
      // */
    </script>
  </body>
</html>
